package sicnu.cs.ich.user.service;

import com.github.pagehelper.PageInfo;
import sicnu.cs.ich.api.domain.form.JsonArray;
import sicnu.cs.ich.api.domain.form.PageParam;
import sicnu.cs.ich.api.domain.vo.UserVo;
import sicnu.cs.ich.security.domain.entity.Role;

import java.util.List;
import java.util.Set;

/**
 * @author 沈洋 邮箱:1845973183@qq.com
 * @create 2021/12/3-18:48
 **/

public interface IAdminService {
    /**
     * 查询所有用户
     * @param param 分页参数
     * @return 用户列表
     */
    PageInfo<UserVo> getUsers(PageParam param);

    /**
     * 重置用户密码
     * @return 是否成功
     */
    boolean resetUserPassword(Integer[] userIds,String newPassword);

    /**
     * 获取角色信息
     * @param param 参数
     */
    PageInfo<Role> getRoles(PageParam param);



    /**
     * 修改用户账号状态
     * @param userId 用户id
     * @param lockState 锁定状态
     * @return
     */
    boolean updateUserState(Integer userId, Integer lockState);

    /**
     * 更新用户角色
     * @param userId 用户id
     * @param roleIds 角色id
     */
    boolean updateUserRole(Integer userId, Set<Integer> roleIds);
}
